Azure Split - Step 3 - Tie Everything Together#3908
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request is the third step in the Azure Split work, which removes Azure authentication implementation from the main SqlClient project and establishes dependencies on the new Abstractions package. The PR removes Azure-specific authentication code, updates project dependencies, adds test authentication providers, and updates CI/CD pipelines to handle the new package structure.
Changes:
- Removes
ActiveDirectoryAuthenticationProvider,SqlAuthenticationProvider,SqlAuthenticationToken,SqlAuthenticationParameters, and related Azure authentication classes from the MDS source - Adds dependency on
Microsoft.Data.SqlClient.Extensions.Abstractionspackage across all MDS projects (src and ref) - Updates test infrastructure with
UsernamePasswordProviderandManagedIdentityProviderimplementations for manual tests - Updates all pipeline YAML files to include
AbstractionsPackageVersionparameter and propagate it through build and test steps
Reviewed changes
Copilot reviewed 45 out of 45 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/specs/Microsoft.Data.SqlClient.nuspec | Adds Abstractions package dependency to all target frameworks |
| src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlAuthenticationProviderManager.cs | Implements dynamic loading of Azure extension package as default provider |
| src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Connection/SqlConnectionInternal.cs | Refactors token acquisition retry logic to use new exception model |
| src/Microsoft.Data.SqlClient/tests/ManualTests/DataCommon/*.cs | Adds test authentication providers |
| src/Microsoft.Data.SqlClient/**/Microsoft.Data.SqlClient.csproj | Removes Azure.* package references, adds Abstractions reference |
| eng/pipelines/**/*.yml | Adds AbstractionsPackageVersion parameter throughout |
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlAuthenticationProviderManager.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Connection/SqlConnectionInternal.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/tests/ManualTests/DataCommon/UsernamePasswordProvider.cs
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Connection/SqlConnectionInternal.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlAuthenticationProviderManager.cs
Show resolved
Hide resolved
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3908 +/- ##
==========================================
- Coverage 74.91% 67.16% -7.76%
==========================================
Files 269 260 -9
Lines 43279 65704 +22425
==========================================
+ Hits 32422 44128 +11706
- Misses 10857 21576 +10719
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
....SqlClient/tests/UnitTests/Microsoft/Data/SqlClient/SqlAuthenticationProviderManagerTests.cs
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/tests/ManualTests/DataCommon/DataTestUtility.cs
Show resolved
Hide resolved
30140f6 to
18ac28b
Compare
…ogether - Brought over all of the remaining code and project changes.
…ogether - Brought over the pipeline changes. - Removed unnecessary flexibility from the MDS official pipeline tree.
…ogether - Removed Azure parameters from CI test tree.
…ogether - Fixed missing Abstractions and MDS package version parameters.
…ogether - Re-activate the Azure tests. - Address PR comments.
…ogether - Addressed a few final comments from the Step 2 PR.
…ogether - Addressed Copilot review comments.
…ogether - Now using reference type to choose NuGet config file.
src/Microsoft.Data.SqlClient.Extensions/Azure/test/AADAuthenticationTests.cs
Show resolved
Hide resolved
…ogether - Fixed Azure build command lines.
…ogether - Added missing reference type to AKV restore targets.
Description
This PR ties everything together:
PR series:
Testing